Skip to content

chore(deps): deduplicate and hoist shared devDependencies to root#2182

Merged
markscott-ms merged 1 commit intofinos:mainfrom
rocketstack-matt:chore/deduplicate-workspace-dependencies
Feb 26, 2026
Merged

chore(deps): deduplicate and hoist shared devDependencies to root#2182
markscott-ms merged 1 commit intofinos:mainfrom
rocketstack-matt:chore/deduplicate-workspace-dependencies

Conversation

@rocketstack-matt
Copy link
Member

Description

We have a lot of duplication and inconsistency in the npm projects, which frequently results in downgrades of dependencies. This PR attempts to resolve those issues and simplify.

Consolidate duplicate dependency definitions across workspace package.json files to prevent renovate/dependabot version conflicts.

Key changes:

  • Hoist typescript, eslint, globals, @typescript-eslint/*, @types/lodash, @types/json-pointer, @types/junit-report-builder, @types/js-yaml,
    @stoplight/types, axios-mock-adapter, fetch-mock, memfs, msw to root
  • Align typescript (^5.9.2), eslint (^9.39.2), tsup (^8.4.0) versions
  • Fix calm-hub-ui: remove stale @types/react v18, move dev tools from
    dependencies to devDependencies
  • Remove invalid root dependencies on private workspace packages (@finos/calm-shared, @finos/calm-widgets)

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🎨 Code style/formatting changes
  • ♻️ Refactoring (no functional changes)
  • ⚡ Performance improvements
  • ✅ Test additions or updates
  • 🔧 Chore (maintenance, dependencies, CI, etc.)

Affected Components

  • CLI (cli/)
  • Shared (shared/)
  • CALM Widgets (calm-widgets/)
  • CALM Hub (calm-hub/)
  • CALM Hub UI (calm-hub-ui/)
  • Documentation (docs/)
  • VS Code Extension (calm-plugins/vscode/)
  • Dependencies
  • CI/CD

Commit Message Format ✅

Testing

  • I have tested my changes locally
  • I have added/updated unit tests
  • All existing tests pass

Checklist

  • My commits follow the conventional commit format
  • I have updated documentation if necessary
  • I have added tests for my changes (if applicable)
  • My changes follow the project's coding standards

Consolidate duplicate dependency definitions across workspace package.json
files to prevent renovate/dependabot version conflicts. Key changes:

- Hoist typescript, eslint, globals, @typescript-eslint/*, @types/lodash,
  @types/json-pointer, @types/junit-report-builder, @types/js-yaml,
  @stoplight/types, axios-mock-adapter, fetch-mock, memfs, msw to root
- Align typescript (^5.9.2), eslint (^9.39.2), tsup (^8.4.0) versions
- Fix calm-hub-ui: remove stale @types/react v18, move dev tools from
  dependencies to devDependencies
- Remove invalid root dependencies on private workspace packages
  (@finos/calm-shared, @finos/calm-widgets)
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates and hoists shared devDependencies to the root workspace package to eliminate duplication and version conflicts across the monorepo. The changes align key build tool versions (TypeScript ^5.9.2, ESLint ^9.39.2, tsup ^8.4.0), reorganize calm-hub-ui dependencies to properly separate build tools from runtime dependencies, and remove invalid root-level dependencies on private workspace packages.

Changes:

  • Hoisted 15 shared devDependencies from child packages to root (TypeScript, ESLint, globals, testing tools, and type definitions)
  • Aligned TypeScript (^5.9.2), ESLint (^9.39.2), and tsup (^8.4.0) versions across all packages
  • Fixed calm-hub-ui by moving build tools (@vitejs/plugin-react-swc, vite-plugin-svgr, vite-tsconfig-paths, copyfiles) from dependencies to devDependencies and upgrading @types/react from v18 to v19
  • Removed invalid root-level dependencies on workspace packages (@finos/calm-shared, @finos/calm-widgets)

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Added 15 hoisted devDependencies to root; removed invalid workspace package dependencies
package-lock.json Updated lockfile to reflect dependency hoisting and version alignment; marked dependencies as dev
shared/package.json Removed all devDependencies (now hoisted to root)
cli/package.json Removed 9 devDependencies (now hoisted to root); maintained package-specific devDependencies
calm-widgets/package.json Removed all devDependencies (now hoisted to root)
calm-plugins/vscode/package.json Removed 7 devDependencies (now hoisted to root); aligned tsup version to ^8.4.0
calm-models/package.json Removed 3 devDependencies (now hoisted to root); kept rimraf as package-specific
calm-hub-ui/package.json Moved build tools from dependencies to devDependencies; upgraded @types/react from v18 to v19; removed dependencies now provided by root

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@markscott-ms markscott-ms merged commit 0b9126b into finos:main Feb 26, 2026
16 checks passed
@rocketstack-matt rocketstack-matt deleted the chore/deduplicate-workspace-dependencies branch February 26, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants